package server;

public class AnalyticsServer {

	public AnalyticsServer() {

	}
	
	/*
	 * A subscribe method is invoked by the management client(s) to register for notifications. 
	 * The method must allow to specify a filter (specified as a regular expression string) that 
	 * determines which types of events the client is interested in (see details further below). 
	 * Moreover, the subscribe method receives a callback object reference which is used to send 
	 * notifications to the clients. Study the RMI callback mechanism to solve this. The method
	 * returns a unique subscription identifier string.
	 */
	public void subscribe() {
		
	}
	
	/*
	 * A processEvent method is invoked by the bidding server each time a new event happens 
	 * (e.g., user logged in, auction started, ...). The analytics server forwards these events
	 * to subscribed clients, and possibly generates new events (see details further below) 
	 * which are also forwarded to clients with a matching subscriptions. If the server finds
	 * out that a subscription cannot be processed because a client is unavailable (e.g., connection exception),
	 * then the subscriptions is automatically removed from the analytics server.
	 */
	public void processEvent() {
		
	}
	
	/*
	 * An unsubscribe method is invoked by the management client(s) to terminate an existing event subscription. 
	 * The method receives the subscription identifier which has been previously received from the subscribe method.
	 */
	public void unsubscribe() {
		
	}
	
	
	

}
